Real-time detection of user intention based on kinematics analysis of movement-oriented biometric data

ABSTRACT

An apparatus for real-time detection of user intention based on kinematic analysis of movement-oriented biometric data includes a biometric data module that receives movement-oriented biometric data, a movement module that identifies an acceleration value using the movement-oriented biometric data, and an evaluation module that interprets a user intention based at least in part on the acceleration value.

BACKGROUND

1. Field

The subject matter disclosed herein relates to kinematics analysis ofmovement-oriented biometric data and more particularly relates tomethods, systems, and apparatus for real-time determination of userintention based on kinematics analysis of movement-oriented biometricdata.

2. Description of the Related Art

User movements, such as finger swipes, eye movements, and gestures canbe computationally intensive and may require high end hardware or mayresult in lag due to processing input.

BRIEF SUMMARY

An apparatus for real-time detection of user intention based onkinematic analysis of movement-oriented biometric data is disclosed. Theapparatus for real-time detection of user intention based on kinematicanalysis of movement-oriented biometric data includes a biometric datamodule that receives movement-oriented biometric data; a movement modulethat identifies an acceleration value using the movement-orientedbiometric data; and an evaluation module that interprets a userintention based at least in part on the acceleration value. A method andcomputer program product also perform the functions of the apparatus.

BRIEF DESCRIPTION OF THE DRAWINGS

A more particular description of the embodiments briefly described abovewill be rendered by reference to specific embodiments that areillustrated in the appended drawings. Understanding that these drawingsdepict only some embodiments and are not therefore to be considered tobe limiting of scope, the embodiments will be described and explainedwith additional specificity and detail through the use of theaccompanying drawings, in which:

FIG. 1 is a schematic block diagram illustrating one embodiment of asystem for real-time detection of user intention based on kinematicsanalysis of movement-oriented biometric data;

FIG. 2 is a schematic block diagram illustrating one embodiment of anapparatus for real-time detection of user intention based on kinematicsanalysis of movement-oriented biometric data;

FIG. 3 is a schematic block diagram illustrating another embodiment ofan apparatus for real-time detection of user intention based onkinematics analysis of movement-oriented biometric data;

FIG. 4A illustrates one embodiment of real-time detection of userintention based on kinematics analysis of movement-oriented biometricdata;

FIG. 4B illustrates another embodiment of real-time detection of userintention based on kinematics analysis of movement-oriented biometricdata;

FIG. 5 is a schematic flow chart diagram illustrating one embodiment ofa method for real-time detection of user intention based on kinematicsanalysis of movement-oriented biometric data;

FIG. 6 is a schematic flow chart diagram illustrating another embodimentof a method for real-time detection of user intention based onkinematics analysis of movement-oriented biometric data;

FIG. 7 is a schematic flow chart diagram illustrating one embodiment ofa method for interpreting user intention based on movement values;

FIG. 8 is a schematic flow chart diagram illustrating one embodiment ofa method for determining user distraction based on movement-orientedbiometric data;

FIG. 9 is a schematic flow chart diagram illustrating one embodiment ofa method for distinguishing between short-range and long-range movementsbased on movement-oriented biometric data;

FIG. 10 is a schematic block diagram illustrating one embodiment of anapparatus for providing a last known browsing location cue usingmovement-oriented biometric data;

FIG. 11 is a schematic block diagram illustrating another embodiment ofan apparatus for providing a last known browsing location cue usingmovement-oriented biometric data;

FIG. 12A illustrates one embodiment of providing a last known browsinglocation cue using movement-oriented biometric data;

FIG. 12B illustrates another view of providing a last known browsinglocation cue using movement-oriented biometric data according to theembodiment of FIG. 12A;

FIG. 12C illustrates another view of providing a last known browsinglocation cue using movement-oriented biometric data according to theembodiment of FIG. 12A;

FIG. 12D illustrates another view of providing a last known browsinglocation cue using movement-oriented biometric data according to theembodiment of FIG. 12A;

FIG. 13 is a schematic flow chart diagram illustrating one embodiment ofa method for providing a last known browsing location cue usingmovement-oriented biometric data;

FIG. 14 is a schematic flow chart diagram illustrating anotherembodiment of a method for providing a last known browsing location cueusing movement-oriented biometric data; and

FIG. 15 is a schematic flow chart diagram illustrating anotherembodiment of a method for providing a last known browsing location cueusing movement-oriented biometric data.

DETAILED DESCRIPTION

As will be appreciated by one skilled in the art, aspects of theembodiments may be embodied as a system, method or program product.Accordingly, embodiments may take the form of an entirely hardwareembodiment, an entirely software embodiment (including firmware,resident software, micro-code, etc.) or an embodiment combining softwareand hardware aspects that may all generally be referred to herein as a“circuit,” “module” or “system.” Furthermore, embodiments may take theform of a program product embodied in one or more computer readablestorage devices storing machine readable code, computer readable code,and/or program code, referred hereafter as code. The storage devices maybe tangible, non-transitory, and/or non-transmission. The storagedevices may not embody signals. In a certain embodiment, the storagedevices only employ signals for accessing code.

Many of the functional units described in this specification have beenlabeled as modules, in order to more particularly emphasize theirimplementation independence. For example, a module may be implemented asa hardware circuit comprising custom VLSI circuits or gate arrays,off-the-shelf semiconductors such as logic chips, transistors, or otherdiscrete components. A module may also be implemented in programmablehardware devices such as field programmable gate arrays, programmablearray logic, programmable logic devices or the like.

Modules may also be implemented in code and/or software for execution byvarious types of processors. An identified module of code may, forinstance, comprise one or more physical or logical blocks of executablecode which may, for instance, be organized as an object, procedure, orfunction. Nevertheless, the executables of an identified module need notbe physically located together, but may comprise disparate instructionsstored in different locations which, when joined logically together,comprise the module and achieve the stated purpose for the module.

Indeed, a module of code may be a single instruction, or manyinstructions, and may even be distributed over several different codesegments, among different programs, and across several memory devices.Similarly, operational data may be identified and illustrated hereinwithin modules, and may be embodied in any suitable form and organizedwithin any suitable type of data structure. The operational data may becollected as a single data set, or may be distributed over differentlocations including over different computer readable storage devices.Where a module or portions of a module are implemented in software, thesoftware portions are stored on one or more computer readable storagedevices.

Any combination of one or more computer readable medium may be utilized.The computer readable medium may be a computer readable storage medium.The computer readable storage medium may be a storage device storing thecode. The storage device may be, for example, but not limited to, anelectronic, magnetic, optical, electromagnetic, infrared, holographic,micromechanical, or semiconductor system, apparatus, or device, or anysuitable combination of the foregoing.

More specific examples (a non-exhaustive list) of the storage devicewould include the following: an electrical connection having one or morewires, a portable computer diskette, a hard disk, a random access memory(RAM), a read-only memory (ROM), an erasable programmable read-onlymemory (EPROM or Flash memory), a portable compact disc read-only memory(CD-ROM), an optical storage device, a magnetic storage device, or anysuitable combination of the foregoing. In the context of this document,a computer readable storage medium may be any tangible medium that cancontain, or store a program for use by or in connection with aninstruction execution system, apparatus, or device.

Code for carrying out operations for embodiments may be written in anycombination of one or more programming languages, including an objectoriented programming language such as Java, Smalltalk, C++ or the likeand conventional procedural programming languages, such as the “C”programming language or similar programming languages. The code mayexecute entirely on the user's computer, partly on the user's computer,as a stand-alone software package, partly on the user's computer andpartly on a remote computer or entirely on the remote computer orserver. In the latter scenario, the remote computer may be connected tothe user's computer through any type of network, including a local areanetwork (LAN) or a wide area network (WAN), or the connection may bemade to an external computer (for example, through the Internet using anInternet Service Provider).

Reference throughout this specification to “one embodiment,” “anembodiment,” or similar language means that a particular feature,structure, or characteristic described in connection with the embodimentis included in at least one embodiment. Thus, appearances of the phrases“in one embodiment,” “in an embodiment,” and similar language throughoutthis specification may, but do not necessarily, all refer to the sameembodiment, but mean “one or more but not all embodiments” unlessexpressly specified otherwise. The terms “including,” “comprising,”“having,” and variations thereof mean “including but not limited to,”unless expressly specified otherwise. An enumerated listing of itemsdoes not imply that any or all of the items are mutually exclusive,unless expressly specified otherwise. The terms “a,” “an,” and “the”also refer to “one or more” unless expressly specified otherwise.

Furthermore, the described features, structures, or characteristics ofthe embodiments may be combined in any suitable manner. In the followingdescription, numerous specific details are provided, such as examples ofprogramming, software modules, user selections, network transactions,database queries, database structures, hardware modules, hardwarecircuits, hardware chips, etc., to provide a thorough understanding ofembodiments. One skilled in the relevant art will recognize, however,that embodiments may be practiced without one or more of the specificdetails, or with other methods, components, materials, and so forth. Inother instances, well-known structures, materials, or operations are notshown or described in detail to avoid obscuring aspects of anembodiment.

Aspects of the embodiments are described below with reference toschematic flowchart diagrams and/or schematic block diagrams of methods,apparatuses, systems, and program products according to embodiments. Itwill be understood that each block of the schematic flowchart diagramsand/or schematic block diagrams, and combinations of blocks in theschematic flowchart diagrams and/or schematic block diagrams, can beimplemented by code. These code may be provided to a processor of ageneral purpose computer, special purpose computer, or otherprogrammable data processing apparatus to produce a machine, such thatthe instructions, which execute via the processor of the computer orother programmable data processing apparatus, create means forimplementing the functions/acts specified in the schematic flowchartdiagrams and/or schematic block diagrams block or blocks.

The code may also be stored in a storage device that can direct acomputer, other programmable data processing apparatus, or other devicesto function in a particular manner, such that the instructions stored inthe storage device produce an article of manufacture includinginstructions which implement the function/act specified in the schematicflowchart diagrams and/or schematic block diagrams block or blocks.

The code may also be loaded onto a computer, other programmable dataprocessing apparatus, or other devices to cause a series of operationalsteps to be performed on the computer, other programmable apparatus orother devices to produce a computer implemented process such that thecode which execute on the computer or other programmable apparatusprovide processes for implementing the functions/acts specified in theflowchart and/or block diagram block or blocks.

The schematic flowchart diagrams and/or schematic block diagrams in theFigures illustrate the architecture, functionality, and operation ofpossible implementations of apparatuses, systems, methods and programproducts according to various embodiments. In this regard, each block inthe schematic flowchart diagrams and/or schematic block diagrams mayrepresent a module, segment, or portion of code, which comprises one ormore executable instructions of the code for implementing the specifiedlogical function(s).

It should also be noted that, in some alternative implementations, thefunctions noted in the block may occur out of the order noted in theFigures. For example, two blocks shown in succession may, in fact, beexecuted substantially concurrently, or the blocks may sometimes beexecuted in the reverse order, depending upon the functionalityinvolved. Other steps and methods may be conceived that are equivalentin function, logic, or effect to one or more blocks, or portionsthereof, of the illustrated Figures.

Although various arrow types and line types may be employed in theflowchart and/or block diagrams, they are understood not to limit thescope of the corresponding embodiments. Indeed, some arrows or otherconnectors may be used to indicate only the logical flow of the depictedembodiment. For instance, an arrow may indicate a waiting or monitoringperiod of unspecified duration between enumerated steps of the depictedembodiment. It will also be noted that each block of the block diagramsand/or flowchart diagrams, and combinations of blocks in the blockdiagrams and/or flowchart diagrams, can be implemented by specialpurpose hardware-based systems that perform the specified functions oracts, or combinations of special purpose hardware and code.

The description of elements in each figure may refer to elements ofproceeding figures. Like numbers refer to like elements in all figures,including alternate embodiments of like elements.

Generally, the methods, systems, apparatus, and computer programproducts perform real-time kinematics analysis of movement-orientedbiometric data. In some embodiments, the kinematic analysis is used tointerpret a user's intention. For example, the kinematics analysis maybe used to interpret whether a short-range movement, such as a shortedge-swipe, is intended or whether a long-range movement, such as a longedge-swipe, is intended by the user's movement.

In some embodiments, the kinematics analysis is used to interpretwhether a user is paying attention to a computer interface, or whetherthe user has become distracted from the computer interface. The computerinterface may be a display, a window, or any sub-element of a display orwindow. The nature of the computer interface may depend on the type ofelectronic device and the nature of applications being executed on theelectronic device. For example, the computer interface may be a windowedbrowser on a laptop, desktop, or tablet computer. As another example,the computer interface may be the entire display of an electronic readeror a handheld device executing a reader application.

In some embodiments, the movement-oriented biometric data is used todetermine movement and/or position values. In some embodiments, themovement and/or position values may be compared to a plurality ofthresholds to interpret a user's intention. For example, where anacceleration threshold is exceeded and a jerk (also known as jolt)threshold is exceeded, a user's movement may be interpreted as adistraction movement. In some embodiments, the movement and/or positionvalues may be compared to a plurality of profiles to interpret a user'sintention. For example, where velocity values match a bell curve, auser's movement may be interpreted as a short range movement. In someembodiments, the movement and/or position values may be compared tothresholds and profiles to interpret a user's intention. For example,where velocity values match a bell curve and an acceleration valueexceeds a threshold, a user's movement may be interpreted as along-range movement. In some embodiment, an action is performed inresponse to determining the user's intention, the action selected basedon the user's intention.

In some embodiments, the kinematics analysis is used to determine wherea user is looking in relation to a computer interface. For example, thebiometric data may be analyzed to determine a browsing location on acomputer interface. Further analysis may determine, in real-time, when auser becomes distracted from the computer interface. After determininguser distraction, a browsing location corresponding to the moment ofdistraction may be stored as a last browsing location. A visual cue maybe provided at the last browsing location to aid the user in quicklyidentifying the last browsing location. For example, by highlightingwords on a computer interface corresponding to the last browsinglocation, a user reading text on the computer interface will quicklyidentify the last-read words and be able to resume reading.

FIG. 1 depicts a system 100 for acquiring and analyzingmovement-oriented biometric data, according to embodiments of thedisclosure. The system 100 includes an electronic device 101. Theelectronic device 101 comprises a processor 102, a display 104, a userintention analysis device 110, a browsing location cue device 112, and amemory 114. In some embodiments, the electronic device 101 also includesan input device 106 and/or a biometric sensor 108. The components of theelectronic device 101 may be interconnected by a communication fabric,such as a computer bus. In some embodiments, the electronic device 101is communicatively coupled to a biometric data acquisition device 120.The biometric data acquisition device 120 contains an external biometricsensor 122 that acquires biometric data.

The processor 102 may comprise any known controller capable of executingcomputer-readable instructions and/or capable of performing logicaloperations on the biometric data. For example, the processor 102 may bea microcontroller, a microprocessor, a central processing unit (CPU), agraphics processing unit (GPU), an auxiliary processing unit, a FPGA, orsimilar programmable controller. In some embodiments, the processor 102executes instructions stored in the memory 114 to perform the methodsand routines described herein.

The display 104 may comprise any known electronic display capable ofoutputting visual data to a user. For example, the display 104 may be anLCD display, an LED display, an OLED display, a projector, or similardisplay device capable of outputting images, text, or the like to auser. The display 104 may receive image data for display from theprocessor 102, the user intention analysis device 110, and/or thebrowsing location cue device 112.

The input device 106 may comprise any known computer input device. Forexample, the input device 106 may be a touch panel, a button, a key, orthe like. In some embodiments, the input device 106 may be integratedwith the display 104, such as a touchscreen or similar touch-sensitivedisplay. In some embodiments, movement-oriented biometric data may begenerated by the input device 106. For example, biometric data relatingto finger position may be received from the input device 106.

The biometric sensor 108 is a sensor that gathers movement-orientedbiometric data. In some embodiments, the biometric sensor 108 is acamera system capable of tracking user gestures. In some embodiments,the biometric sensor 108 is a camera system capable of gathering eyegazing data and/or eye tracking data. Both eye gazing data and eyetracking data are examples of movement-oriented biometric data used todetermine where a user's eye are looking.

As used herein, eye gazing data refers to movement-oriented biometricdata that tracks eye movement by identifying the orientation of facialfeatures in relation to a computer interface. Eye gazing data providesrough orientation information by using height, neck orientation, noseorientation, and other facial features. However, eye gazing data doesnot provide the precise location where the eye is looking. In contrast,eye tracking data refers to movement-oriented biometric data that trackseye movement by identifying eye features, such as pupil location orretina location. Eye tracking data provides precise eye orientationinformation and is able to more precisely determine where the user islooking.

The user intention analysis device 110 operates on movement-orientedbiometric data to interpret user intention from movement. The userintention analysis device 110 may be comprised of computer hardwareand/or computer software. For example the user intention analysis device110 may be circuitry or a processor configured to interpret userintention of a detected movement using the movement-oriented biometricdata. In some embodiments, the user intention analysis device 110comprises software code that allows the processor 102 to interpret userintention from the movement-oriented biometric data. The user intentionanalysis device 110 is discussed in further detail with reference toFIGS. 2 and 3, below.

The browsing location cue device 112 operates on movement-orientedbiometric data to provide a last known browsing location cue. Thebrowsing location cue device 112 may be comprised of computer hardwareand/or computer software. For example the browsing location cue device112 may be circuitry or a processor configured to provide a last knownbrowsing location cue from the movement-oriented biometric data. Asanother example, the browsing location cue device 112 may comprisesoftware code that allows the processor 102 to provide a last knownbrowsing location cue from the movement-oriented biometric data. Thebrowsing location cue device 112 is discussed in further detail withreference to FIGS. 10 and 11, below.

The memory 114 may be implemented as a computer readable storage medium.In the embodiment shown in FIG. 1, the memory 114 contains storedbiometric data 116 and a stored user profile 118. The stored biometricdata 116 may be acquired by the input device 106, by the biometricsensor 108, or by the biometric data acquisition device 120. In someembodiments the stored biometric data 116 is limited to a certain numberof values. For example, the stored biometric data 116 may consist of thelast two seconds worth of movement-oriented biometric data. As anotherexample, the stored biometric data 116 may consist of the latestfive-hundred milliseconds of movement-oriented biometric data. In suchembodiments, the stored biometric data 116 may be implemented as a ringbuffer, circular array, or similar structure where an oldest value isoverwritten by newest value once the buffer capacity is reached.

The stored biometric data 116 may comprise time values and one or moreof: corresponding position values, corresponding velocity values,corresponding acceleration values, and corresponding jerk (also known asjolt) values. The types of values stored in stored biometric data 116may depend on the types of data gathered by the input device 106, thebiometric sensor 108 and/or the biometric data acquisition device 120.Alternatively, the data gathered by the input device 106, the biometricsensor 108 and/or the biometric data acquisition device 120 may beparsed or augmented to form 116. The user profile 118 comprisesuser-specific parameters and preferences. The parameters and preferencesof the user profile 118 may be defined by a user or by an automatedprocess, e.g., a calibration routine. In some embodiments, a separateprofile is stored for each user of the electronic device 101.

The biometric data acquisition device 120 is communicatively coupled tothe electronic device 101 and gathers movement-oriented biometric data.The biometric data acquisition device 120 may communicatemovement-oriented biometric data with the electronic device 101 via awired or wireless interface. The external biometric sensor 122 may besimilar to the biometric sensor 108 described above. In someembodiments, the biometric data acquisition device 120 is external to,but physically coupled to the electronic device 101. For example, thebiometric data acquisition device 120 may be an accessory, including acase or cover, which attaches to the electronic device 101.

FIG. 2 depicts an apparatus 200 for interpreting user intention based onkinematics analysis of movement-oriented biometric data, according toembodiments of the disclosure. Apparatus 200 comprises a user intentionanalysis device 110, such as the user intention analysis device 110described with reference to FIG. 1, above. The user intention analysisdevice 110 comprises a biometric data module 202, a movement module 204,and an evaluation module 206. The biometric data module 202 receivesmovement-oriented biometric data, for example from the input device 106,the biometric sensor 108, and/or the memory 114.

In some embodiments the biometric data module 202 identifies the latestbiometric data, for example the last N samples of biometric data, whereN is a positive integer. The biometric data module 202 may limit thenumber of biometric data values to a predefined window size, the windowsize corresponding to a user reaction time. A window size significantlyabove the user reaction time can improve reliability as it ensures thatthe detected movement is a conscious movement (i.e., a reaction) and notan artifact or false positive due to noise, involuntary movements, etc.

The movement module 204 determines movement values from themovement-oriented biometric data. In some embodiments, the movementmodule 204 determines acceleration values from the movement-orientedbiometric data. For example, where the biometric data comprises positionvalues and time values, the movement module 204 may derive accelerationvalues corresponding to the time values. In some embodiments, themovement module 204 determines position, velocity, and/or jerk valuesfrom the biometric data. The movement module 204 may include circuitryfor calculating integrals and/or derivatives to obtain movement valuesfrom the biometric data. For example, the movement module 204 mayinclude circuitry for calculating second-derivatives of location data.

The evaluation module 206 interprets a user intention for a movementbased on the movement values determined by the movement module 204. Forexample, the evaluation module 206 may determine if the user intends toperform a short-range action or a long-range action. In someembodiments, acceleration, velocity, position, and/or jerk values may becompared to a threshold and/or profile to interpret the user intention.For example, the evaluation module 206 may interpret a user's intentionto be a distraction movement where an acceleration threshold is exceededand a jerk threshold is exceeded. As another example, the evaluationmodule 206 may determine that a user intends to make a short-rangemovement where velocity values match a bell curve profile. In someembodiments, movement values (i.e., acceleration, velocity, position,and/or jerk values) may be compared to a combination of thresholds andprofiles to interpret a user's intention. For example, where velocityvalues match a bell curve and an acceleration value exceeds a threshold,a user's movement may be interpreted as a long-range movement.

The evaluation module 206 may determine that a user intends to make ashort-range (i.e., intra-interface) movement when the velocity value isat (or near) zero and the acceleration value is negative at the edge (orboundary) of the computer interface. On the other hand, the evaluationmodule 206 may determine that the user intends to make a long-range(i.e., extra-interface) movement when the velocity value is above zeroat the edge (or boundary) of the computer interface or when theacceleration value is positive at the edge (or boundary) of the computerinterface. The computer interface may be a windowed browser on a laptop,desktop, or tablet computer. As an example, the computer interface maybe the entire display of an electronic reader or a handheld deviceexecuting a reader application. In the former, the boundaries of thecomputer interface correspond to the boundaries of the window inquestion, while in the latter, the boundaries of the computer interfacecorrespond to the boundaries of the display itself.

The evaluation module 206 may determine that a user is reading when avelocity value matches a reading speed profile. The evaluation module206 may determine user inattention when the velocity value drops belowthe reading speed profile for a certain amount of time. Additionally,the evaluation module 206 may determine user distraction when thevelocity value is above the reading speed and the jerk value exceeds ajerk threshold. Additionally, or alternatively, user distraction may bedetermined when velocity values match a distraction profile. Profilesand thresholds specific to a user may be stored in the user profile 118.

FIG. 3 depicts an apparatus 300 for interpreting user intention based onkinematics analysis of movement-oriented biometric data, according toembodiments of the disclosure. Apparatus 300 comprises a user intentionanalysis device 110, such as the user intention analysis device 110described with reference to FIGS. 1 and 2, above. The user intentionanalysis device 110 contains a biometric data module 202, a movementmodule 204, and an evaluation module 206, as described with reference toFIG. 2, above. In the embodiments of FIG. 3, the user intention analysisdevice 110 also includes a location module 302, a velocity module 304, ajerk module 306, an adaptation module 308, and/or a calibration module310.

The location module 302 identifies location or position values from themovement-oriented biometric data. In some embodiments, the locationmodule 302 may store one or more position thresholds relating to thecomputer interface. For example, the location module 302 may storeposition thresholds corresponding to boundaries of the computerinterface. As another example, the location module 302 may storeposition thresholds corresponding to specific regions of the computerinterface, such as edges, input fields, and the like. In someembodiments, the stored position thresholds are used by the evaluationmodule 206 to determine user intention. In some embodiments, thelocation module 302 itself compares the position values to the positionthresholds and outputs the results to the evaluation module 206.

The location module 302 may be an independent module or may be asub-module of the movement module 204 and/or the evaluation module 206.In some embodiments, the location module 302 may store one or moreposition profiles used to categorize user movements. For example, thelocation module 302 may store a position profile corresponding to ashort-range movement within the computer interface.

The velocity module 304 identifies velocity or speed values from themovement-oriented biometric data. In some embodiments, the velocitymodule 304 may store one or more velocity thresholds relating to thecomputer interface. For example, the velocity module 304 may storevelocity thresholds corresponding to boundaries of the computerinterface. In some embodiments, the velocity thresholds are generalthresholds. In some embodiments, the stored velocity thresholds are usedby the evaluation module 206 to determine user intention. In someembodiments, the velocity module 304 itself compares the velocity valuesto the velocity thresholds and outputs the results to the evaluationmodule 206.

The velocity module 304 may be an independent module or may be asub-module of the movement module 204 and/or the evaluation module 206.In some embodiments, the velocity module 304 may store one or morevelocity profiles used to categorize user movements. For example, thevelocity module 304 may store a velocity profile corresponding to ashort-range movement within the computer interface.

The jerk module 306 identifies jerk or jolt values from themovement-oriented biometric data. In some embodiments, the jerk module306 may store one or more jerk thresholds relating to the computerinterface. For example, the jerk module 306 may store jerk thresholdscorresponding to specific regions of the computer interface, such asboundaries, edges, and the like. In some embodiments, the jerkthresholds are general thresholds. In some embodiments, the stored jerkthresholds are used by the evaluation module 206 to determine userintention. In some embodiments, the jerk module 306 itself compares thejerk values to the jerk thresholds and outputs the results to theevaluation module 206.

The jerk module 306 may be an independent module or may be a sub-moduleof the movement module 204 and/or the evaluation module 206. In someembodiments, the jerk module 306 may store one or more jerk profilesused to categorize user movements. For example, the jerk module 306 maystore a jerk profile corresponding to a short-range movement within thecomputer interface.

The adaptation module 308 dynamically adjusts the threshold and/orprofiles used by the user intention analysis device 110 responsive tochanges in the computer interface. The adaptation module 308 may modifythresholds and/or profiles relating to position, velocity, acceleration,and/or jerk values of the movement-oriented biometric data. In someembodiments, the adaptation module 308 may adjust the thresholds and/orprofiles in response to a change in the dimensions of the computerinterface. For example, where the computer interface corresponds to awindow, changes to the window size may cause the adaptation module 308to adjust thresholds and/or profiles relating to boundaries or edges ofthe computer interface. As another example, changes to a window size mayalso cause the adaptation module 308 to adjust velocity, acceleration,and/or jerk threshold to account for the new dimensions of the window.

In some embodiments, the adaptation module 308 may adjust the thresholdsand/or profiles when a distance between the user and the computerinterface changes. For example, where the electronic device 101 is ahandheld electronic device (e.g., a smartphone or tablet computer) theadaptation module 308 may adjust the thresholds and/or profiles when theuser moves the handheld electronic device closer to the user's face. Theadjustments may take into account a change in angle between the user andthe dimensions of the computer interface as the dimensions of thecomputer interface appear different to the user even though, pixel-wise,the computer interface dimensions themselves have not changed.

In some embodiments, the calibration module 310 is used to measure auser's performance of a movement and to set initial thresholds and/orprofiles used by the evaluation module 206 to interpret themovement-oriented biometric data. Calibration may occur a first time theuser intention analysis device 110 is initialized, every time the userintention analysis device 110 is initialized, or it may be manuallyselected by the user. Calibration may be user-specific and may be storedin the user profile 118. The calibration module 310 allows for moreaccurate interpretation of movement-oriented biometric data ascomparisons may be based on accurate models of user movement. In someembodiments, a user reaction time is calibrated by the calibrationmodule 310. The user reaction time may be used to determine a samplesize sufficiently large to distinguish reactive movement and voluntarymovements from involuntary movements to as to more accurately interpretuser movement.

FIGS. 4A and 4B depict embodiments of systems 400 and 410 forinterpreting user intention based on kinematics analysis ofmovement-oriented biometric data. The systems 400 and 410 includes anelectronic device 101, such as the electronic device 101 described withreference to FIG. 1, above. In FIG. 4A, the electronic device 101receives movement-oriented biometric data regarding locations and/ormovements of a user's finger(s) 402. The finger(s) 402 may be touching adisplay of the electronic device 101 or may be gesturing in an area infront the display of the electronic device 101. The browsing location404 is on the computer interface 408, which may correspond to a windowin a display 406. From the movement-oriented biometric data, theelectronic device 101 is able to determine a browsing location 404 ofthe finger 402.

In some embodiments, the movement-oriented biometric data may be used todetermine if movement by the user's finger 402 is intended to initiate ashort-range movement, for example a short-edge swipe, or a long-rangemovement, for example a long-edge swipe. The electronic device 101 mayinterpret the user's intention by comparing the movement-orientedbiometric data, including location 404, to one or more thresholds and/orprofiles, as discussed with reference to FIGS. 2 and 3, above.

In FIG. 4B, the electronic device 101 receives movement-orientedbiometric data regarding locations and/or movements of a user's eye(s)406. From the movement-oriented biometric data, the electronic device101 is able to determine a viewing location 414 of the eye 412. Theviewing location 414 is on the computer interface 418, which maycorrespond to an entire display. In some embodiments, themovement-oriented biometric data may be used by the electronic device101 to determine if movement by the user's eye 412 is intended toinitiate a short-range movement, for example a short-edge swipe, or along-range movement, for example a long-edge swipe. In some embodiments,the movement-oriented biometric data may be used to determine ifmovement by the user's eye 412 is indicative of the user beingdistracted from or inattentive to the computer interface 418. Theelectronic device 101 may interpret the user's intention by comparingthe movement-oriented biometric data, including viewing location 414, toone or more thresholds and/or profiles, as discussed with reference toFIGS. 2 and 3, above.

FIG. 5 depicts a method 500 for interpreting user intention based onkinematics analysis of movement-oriented biometric data, according toembodiments of the disclosure. In one embodiment, the method 500 beginsby receiving 502 movement-oriented biometric data in an electronicdevice 101. In certain embodiments, a biometric data module 202 obtainsthe movement-oriented biometric data from one of the input device 106,the biometric sensor 108, and the biometric data 116. Receiving 502movement-oriented biometric data may include receiving only the last Nsamples of biometric data, where N is a positive integer correspondingto a measurement window for biometric data. The measurement window maybe user specific and the value of N may be prompted, may beautomatically determined, may be retrieved from a user profile 118,and/or may be adjusted depending on the nature of the computerinterface.

The method 500 proceeds with identifying 504 acceleration values fromthe movement-oriented biometric data. The acceleration values may beidentified via a movement module 204 of a user intention analysis device110. In some embodiments, an evaluation module 206 interprets 506 a userintention based on the acceleration values. The user intention may be ashort-range movement, a long-range movement, and/or a distractionmovement. The user intention may be interpreted 506 through comparingthe acceleration values to one or more acceleration thresholds and/orprofiles. The thresholds and/or profiles may be specific to the user, tothe computer interface, and or to the electronic device 101.

FIG. 6 depicts a method 600 for interpreting user intention based onkinematics analysis of movement-oriented biometric data, according toembodiments of the disclosure. In one embodiment, the method 600 beginsby receiving 602 movement-oriented biometric data in an electronicdevice 101. The method includes storing 604 the last N datapoints as acurrent window, where N is a positive integer corresponding to a userreaction time. The biometric data is analyzed in determining 606movement values in the current window. These movement values may beposition values, velocity values, acceleration values and/or jerk valuesfor moments in time corresponding to the N datapoints. The movementvalues may be parsed or calculated from the movement-oriented biometricdata, depending on the nature of the biometric data.

The determined movement values may be examined in determining 608whether one or more triggers have been met in the current window. Thetriggers may be based on position, pressure, velocity, and/oracceleration and indicate to the user intention analysis device 110 thata movement in need of interpretation has occurred. Additionally, atrigger may be received from another program or module that uses a userintention analysis device 110 to interpret intentions of user movement.One or more triggers may need to be met to result in a positivedetermination 608.

Once the trigger(s) is met, the movement values of the current windoware interpreted 610 to determine a user's intention. In some instances,the movement values indicate a short-range movement. In some instances,the movement values indicate a long rage movement. In some instances,the movement values indicate a distraction or inattention movement.Other movements and/or gestures may be interpreted as known in the art.

In some embodiments, the method 600 continues with performing 612 anaction corresponding to the user intention. For example, an actioncorresponding to a swipe command (i.e., a close action, a menu action, aswitching action) may be performed after interpreting the userintention. In some embodiments, a data value is returned to a callingprogram or stored in memory in response to interpreting the userintention.

FIG. 7 depicts a method 700 for interpreting user intention based onmovement values, according to embodiments of the disclosure. A movementis identified by comparing movement values to various thresholds. Themethod includes comparing 702 the movement values to at least oneacceleration threshold. If the acceleration threshold is not exceeded,the method then identifies 704 a normal movement and return an indicatorof such. If the acceleration threshold is exceeded, the movement valuesmay be compared 706 to at least one velocity threshold.

The method 700 may identify 708 a short-range movement, and return anindicator of such, if the velocity threshold is not exceeded. Otherwise,if the velocity threshold is exceeded, the method continues to 710 wherethe movement values are compared to at least one jerk threshold. If thejerk threshold is exceeded, the method may identify 712 the movement asa distraction movement and return an indicator of such, otherwise themovement may be identified 714 as a long-range movement and an indicatorof such returned. The thresholds may be selected according to the natureof the biometric data (e.g., eye gazing data or figure position data)and according to the results of other comparisons. Additionally, oralternatively, the movement values may be compared to one or moreprofiles in each of the comparison steps of the method 700.

FIG. 8 depicts a method 800 for determining user distraction based onmovement-oriented biometric data, according to embodiments of thedisclosure. Movement values obtained from movement-oriented biometricdata may be compared 802 to an acceleration threshold using, forexample, the evaluation module 206. Next, the movement values may becompared 804 to a velocity threshold using, for example, the evaluationmodule 206 or the velocity module 304. Next, the movement values may becompared 806 to a jerk threshold using, for example, the evaluationmodule 206 or the jerk module 306. If the movement values meet all ofthe thresholds, the method 800 may identify a distraction movement andreturn an indicator of such.

The method 800 may determine 810 a normal (i.e., attentive) movement,and return an indicator of such, if any of the thresholds is unmet. Thethresholds may be selected according to the nature of the biometric data(e.g., eye gazing data or figure position data). Additionally, oralternatively, the movement values may be compared to one or moreprofiles in each of the comparison steps of the method 800.

FIG. 9 depicts a method 900 for distinguishing between short-range andlong-range movements based on movement-oriented biometric data,according to embodiments of the disclosure. The method 900 may beginwhen movement within a computer interface is detected. At 902,movement-oriented biometric data is monitored to determine the moment intime when a position threshold is met. In some embodiments, the positionthreshold corresponds to a boundary of a computer interface.

At 904, an acceleration value corresponding to the determined moment intime is compared to an acceleration threshold. For example, anacceleration value at the computer interface boundary may be compared tothe acceleration threshold. If the acceleration threshold is met,further comparisons are performed, otherwise the movement is identified910 as a short-range movement. In some embodiments, the accelerationthreshold is near zero.

At 906, a velocity value corresponding to the determined moment in timeis compared to a velocity threshold. For example, a velocity value atthe computer interface boundary may be compared to the velocitythreshold. If the velocity threshold is met, the movement is identified908 as a long-range movement. Otherwise, the movement is identified 910as a short-range movement.

FIG. 10 depicts an apparatus 1000 for providing a last known browsinglocation cue using movement-oriented biometric data, according toembodiments of the disclosure. Apparatus 1000 comprises a browsinglocation cue device 112, such as the browsing location cue device 112described with reference to FIG. 1, above. The browsing location cuedevice 112 comprises a biometric data module 1002, an attention judgmentmodule 1004, and a location cue module 1006.

The biometric data module 1002 receives movement-oriented biometricdata, for example from the input device 106, the biometric sensor 108,the memory 114, or the biometric data acquisition device 120. In someembodiments the biometric data module 1002 identifies the latestbiometric data, for example the last N samples of biometric data, whereN is a positive integer. The biometric data module 1002 may limit thenumber of biometric data values to a predefined window size, the windowsize corresponding to a user reaction time. A window size significantlyabove the user reaction time can improve reliability as it ensures thatthe detected movement is a conscious movement (i.e., a reaction) and notan artifact or false positive due to noise, involuntary movements, etc.The biometric data module 1002 may be similar to the biometric datamodule 202 discussed with reference to FIG. 2.

The attention judgment module 1004 detects user distraction based on thebiometric data. In some embodiments, the attention judgment module 1004determines movement values from the biometric data. For example, theattention judgment module 1004 may determine position values, velocityvalues, acceleration values, jerk values, or other movement-relatedvalues from the movement-oriented biometric data. The attention judgmentmodule 1004 may include circuitry for calculating integrals and/orderivatives to obtain movement values from the biometric data. Forexample, the attention judgment module 1004 may include circuitry forcalculating second-derivatives of location data.

In some embodiments, the attention judgment module 1004 receivesmovement values from another device or module. For example, theattention judgment module 1004 may receive movement values from one ormore of the input device 106, the biometric sensor 108, the userintention analysis device 110, the memory 116, the biometric dataacquisition device 120, and/or the movement module 204.

In some embodiments, the attention judgment module 1004 analyzes themovement values to detect user distraction. In some embodiments,movement values (i.e., acceleration, velocity, position, and/or jerkvalues) may be compared to a threshold and/or profile to detect userdistraction. For example, the attention judgment module 1004 mayinterpret a user's intention to be a distraction movement where anacceleration threshold is exceeded and a jerk threshold is exceeded. Insome embodiments, movement values may be compared to a combination ofthresholds and profiles to interpret a user's intention. In someembodiments, movement values at an edge or boundary of a computerinterface may be analyzed to detect user distraction.

The computer interface may be a windowed browser on a laptop, desktop,or tablet computer. As an example, the computer interface may be theentire display of an electronic reader or a handheld device executing areader application. In some embodiments, the attention judgment module1004 receives an indication of user distraction from another module ordevice, such as the evaluation module 206.

In some embodiments, the attention judgment module 1004 may determinethat a user is reading when a velocity value matches a reading speedprofile. The attention judgment module 1004 may determine userdistraction when the velocity value is above the reading speed and thejerk value exceeds a jerk threshold. Additionally, or alternatively,user distraction may be determined when velocity values match adistraction profile. Profiles and thresholds specific to a user may bestored in the user profile 118.

In some embodiments, the attention judgment module 1004 identifies amoment in time when the user is first distracted. The attention judgmentmodule 1004 may store a value representing this moment in the memory 114or may output this value to another module or device.

The location cue module 1006 provides a visual cue in the computerinterface responsive to the attention judgment module 1004 determiningthat the user has become distracted. The visual cue may be any indicatorsuitable for indicating a last known browsing location, for example, ahighlight, an underline, an icon, or the like. In some embodiments, thelast known browsing location corresponds to a location on the computerinterface where the user was looking just before becoming distracted. Insome embodiments, the location cue module 1006 determines the last knownbrowsing location from the biometric data. In other embodiments, thelocation cue module 1006 receives the last known browsing location fromanother module or device.

The location cue module 1006 may provide the visual cue immediatelyafter receiving an indication that the user is distracted, or maypresent the visual cue in response to receiving additional triggers,such as the expiration of a timer. Additionally, in some embodiments,the location cue module 1006 may remove the visual cue after apredetermined amount of time or in response to receiving anothertrigger, such as an indication that the user is again attentive to thecomputer interface.

FIG. 11 depicts an apparatus 1100 for providing a last known browsinglocation cue using movement-oriented biometric data, according toembodiments of the disclosure. Apparatus 1100 comprises a browsinglocation cue device 112, such as the browsing location cue device 112described with reference to FIGS. 1 and 10, above. The browsing locationcue device 112 contains a biometric data module 1002, a judgment module1004, and a location cue module 1006, as described with reference toFIG. 10, above. In the embodiments of FIG. 11, the browsing location cuedevice 112 also includes a browsing location module 1102, a lastlocation module 1104, a cue timer module 1106, a cue dismissal module1108, an attention renewal module 1110, a movement threshold module1112, and/or a movement profile module 1114.

The browsing location module 1102 identifies a browsing location on acomputer interface based on the movement-oriented biometric data. Insome embodiments, the browsing location module 1102 identifies positionvalues from the movement-oriented biometric data and correlates theposition values to determine a location on the computer interface wherethe user is looking; the location being a browsing location. In someembodiments, the browsing location module 1102 uses eye tracking or eyegazing algorithms to determine the browsing location.

In some embodiments, the browsing location module 1102 receives aposition value determined from the movement-oriented biometric data fromanother device or module, such as the input device 106, the biometricdata sensor 108, the user intention analysis device 110, the memory 116,the biometric data acquisition device 120, the movement module 204,and/or the attention judgment module 1004, and interpolates a browsinglocation from the position value.

In some embodiments, the browsing location module 1102 stores a numberof recent browsing locations. The recent browsing locations may bestored in the memory 114 or in the browsing location module 1102 itself.The number of recent browsing locations may be fixed or variable. Insome embodiments, the number of recent browsing locations corresponds toa data window size used by the biometric data module 1002. In someembodiments, the browsing location module 1102 provides the recentbrowsing locations to the location cue module 1006. In some embodiments,the browsing location module 1102 determines a last known browsinglocation corresponding to a moment of distraction and provides the lastknown browsing location to the location cue module 1006.

The last location module 1104 identifies an inattention timecorresponding to the detected user distraction. In some embodiments, thelast location module 1104 receives an indication of user distractionfrom the attention judgment module 1004 and identifies a moment in timewhen the user is first distracted. The last location module 1104 maystore a value representing this moment in the memory 114 or may outputthis value to another module or device, such as the location cue module1006 or the browsing location module 1102, for use in determining a lastknown browsing location. In some embodiments, the last location module1104 sends the inattention time to the location cue module 1006 for usein providing the last known browsing location.

The cue timer module 1106 initiates a marking timer in response todetecting user distraction. The marking timer counts down (or upaccording to implementation) a predetermined amount of time beforesending a signal to another device or module. In some embodiments, themarking timer is adjustable and the amount of time is user specific. Forexample, a user may specify a marking timer amount. As another example,the cue timer module 1106 may automatically determine a marking timeramount based on data in the user profile 118. Upon expiration, the cuetimer module 1106 sends a signal to the location cue module 1006indicating that the visual cue should be displayed.

The cue dismissal module 1108 initiates a removal timer in response todetecting user distraction. The removal timer counts down (or upaccording to implementation) a predetermined amount of time beforesending a signal to another device or module. In some embodiments, theremoval timer is adjustable and the amount of time is user specific. Forexample, a user may specify a removal timer amount. As another example,the cue dismissal module 1108 may automatically determine a removaltimer amount based on data in the user profile 118. In some embodiments,the cue dismissal module 1108 removes the visual cue in response toexpiration of the removal timer. In other embodiments, the cue dismissalmodule 1108 sends a signal to the location cue module 1006 uponexpiration of the removal timer indicating that the visual cue should beremoved.

The attention renewal module 1110 detects whether user attention isreturned to the computer interface subsequent to the user distraction.In some embodiments, the attention renewal module 1110 operates on themovement-oriented biometric data to determine that the user is againpaying attention to the computer interface. In some embodiments,movement values (i.e., acceleration, velocity, position, and/or jerkvalues) may be compared to a threshold and/or profile to detect userattention. For example, the attention renewal module 1110 may determinethat a user is attentive to the computer interface when a velocity valuematches a reading speed profile. As another example, the attentionrenewal module 1110 may determine that a user is attentive to thecomputer interface when acceleration values are below a velocitythreshold for a window of time and a browsing location corresponds to alocation within the computer interface.

Upon detecting that the user's attention has returned to the computerinterface, the attention renewal module 1110 signals the location cuemodule 1006 indicating that the visual cue should be provided. In someembodiments, the attention renewal module 1110 receives an indication ofuser attention from another device or module, such as the evaluationmodule 206, the movement threshold module 1112, or the movement profilemodule 1114, and signals the location cue module 1006 that the visualcue should be provided.

The movement threshold module 1112 compares the movement-orientedbiometric data to at least one threshold to determine whether the useris attentive to the computer interface. The threshold may be a positionthreshold, a velocity threshold, an acceleration threshold, and/or ajerk threshold. For example, the movement threshold module 1112 maydetermine that a user is attentive to the computer interface whenacceleration values are below a velocity threshold for a window of timeand a browsing location corresponds to a location within the computerinterface. In some embodiments, the movement threshold module 1112operates in conjunction with the judgment module 1004 to determinewhether a user is distracted. In some embodiment, the movement thresholdmodule 1112 operates in conjunction with the location cue module 1006 todetermine when to provide the visual cue.

The movement profile module 1114 compares the movement-orientedbiometric data to at least one profile to determine whether the user isattentive to the computer interface. The profile may be an eye speedprofile, an eye acceleration profile, and/or an eye jolt profile. Forexample, the movement profile module 1114 may determine that a user isattentive to the computer interface when a velocity value matches areading speed profile. In some embodiments, the movement profile module1114 operates in conjunction with the judgment module 1004 to determinewhether a user is distracted. In some embodiment, the movement profilemodule 1114 operates in conjunction with the location cue module 1006 todetermine when to provide the visual cue.

FIGS. 12A-12D depict a system 1200 for providing a last known browsinglocation cue using movement-oriented biometric data, according toembodiments of the disclosure. The system 1200 comprises an electronicdevice 101 that is viewed by a user 1202. The electronic device 101includes a computer interface 1206. In some embodiments, the computerinterface 1206 may be a display, a window, or any sub-element of adisplay or window. The nature of the computer interface 1206 may dependon the type of electronic device 101 and the nature of applicationsbeing executed on the electronic device 101.

In FIG. 12A, the user 1202 is viewing the computer interface 1206. Theelectronic device 101 receives movement-oriented biometric dataregarding locations and/or movements of a user's eyes 1202. From themovement-oriented biometric data, the electronic device 101 is able todetermine a browsing location 1204 of the eyes. The viewing location1204 is on the computer interface 1206, which is depicted ascorresponding to an entire display.

In FIG. 12B, the user 1202 becomes distracted and in no longer viewingthe computer interface 1206. The electronic device 101 receivesmovement-oriented biometric data regarding movement of the user's eyes1202 away from the computer interface 1206. The electronic device 101may determine the user 1202 distraction by identifying movement valuesfrom the movement-oriented biometric data and comparing the movementvalues to thresholds and/or profiles, as discussed above with referenceto FIGS. 2, 3, and 5-8. In some embodiments, the user intention analysisdevice 110 determines user distraction and signals the judgment module1004. In some embodiments, one of the 1112 and 1114 determines userdistraction and signals the judgment module 1004. In some embodiments,the judgment module 1004 determines user distraction. Upon determininguser distraction, the last browsing location 1204 prior to thedistraction is identified

In FIG. 12C, the last browsing location 1204 prior to the distraction isidentified and a visual cue 1208 is presented to the user 1202. In someembodiments, the visual cue is provided in response to expiration of atimer. In some embodiments, the visual cue is provided in response todetecting that the user is once again looking at the computer interface1206.

The visual cue 1208 may be any indicator suitable for indicating thelast known browsing location. For example, the visual cue 1208 may be ahighlight (e.g., highlighted text), an underline, a foreground mark, abackground mark (e.g., a watermark), an icon, and the like. In someembodiments, the visual cue 1208 comprises animated text orcolor-differentiated text (i.e., text of a different color). In someembodiments, the visual cue 1208 may comprise bold or bright colors thatattract the eye. In some embodiments, the visual cue is provided byfading text, images, or other display data except in the areasurrounding the last known browsing location. For example, a wordlocated at a last known browsing position and one or more nearby contextwords may be displayed in black lettering while all other words in thecomputer interface may be displayed in lighter shades of gray. Asanother example, a sentence located at a last known browsing positionmay be displayed in black lettering while all other words in thecomputer interface may be displayed in lighter shades.

In some embodiments, a trace may be provided that underlines orhighlights words or locations on the computer interface 1206corresponding to a current browsing location 1204 and fades totransparency with time or with progress (e.g., a word at the currentbrowsing location is underlined with 0% transparency while the previousM words are underlines with increasing amounts of transparency). Whenuser distraction is detected, the trace stops fading so that theunderline or highlight indicates the last known browsing location.

In FIG. 12D, the user 1202 visually acquires the visual cue 1208 andeasily identifies the last known browsing location. The user 1202 isable to quickly resume viewing (e.g., reading) the computer interface1206. The visual cue 1208 is removed in response to the electronicdevice 101 identifying that the user 1202 is paying attention to thecomputer interface 1206. In some embodiments, the visual cue 1208 isremoved in response to expiration of a timer, where the timer wasinitiated in response to the user 1202 paying attention to the computerinterface 1206. In some embodiments, the visual cue 1208 is removed inresponse to the electronic device 101 determining, from themovement-oriented biometric data, that the user 1202 has resumed normalactivity, for example reading at a normal speed.

FIG. 13 depicts a method 1300 for providing a last known browsinglocation cue using movement-oriented biometric data, according toembodiments of the disclosure. The method 1300 comprises receiving 1302movement-oriented biometric data. In certain embodiments, a biometricdata module 1002 obtains the movement-oriented biometric data, forexample from one of the input device 106, the biometric sensor 108, the122, and the stored biometric data 116.

Receiving 1302 movement-oriented biometric data may include receivingonly the last N samples of biometric data, where N is a positive integercorresponding to a measurement window for biometric data. Themeasurement window may be user specific and the value of N may beprompted, may be automatically determined, may be retrieved from a userprofile 118, and/or may be adjusted depending on the nature of thecomputer interface. In some embodiments, the movement-oriented biometricdata is received in real-time and comprises a plurality of viewingposition values and a plurality of timestamps, each timestampcorresponding to one of the plurality of viewing positions. In someembodiments, the movement-oriented biometric data is eye gazing data. Insome embodiments, the movement-oriented biometric data is eye trackingdata.

The method 1300 proceeds with detecting 1304 user distraction from acomputer interface based on the movement-oriented biometric data. Insome embodiments, movement values are identified via a judgment module1004 of a browsing location cue device 112. The movement values may becompared to various thresholds and/or profiles to detect that a user hasbecome distracted. In some embodiments, step 1304 comprises identifyinga moment in time when the user is first distracted.

The method continues with providing 1306 a visual cue in the computerinterface indicating a last known browsing location. The visual cue maybe any indicator suitable for indicating a last known browsing location.The last known browsing location is a location on the computer interfacewhere the user was looking just before becoming distracted. In someembodiments, the last known browsing location is determined from thebiometric data. In other embodiments, the last known browsing locationis received from another module or device. The visual cue may bepresented immediately after detecting 1304 that the user is distracted,or may be presented in response to receiving additional triggers, suchas the expiration of a timer. Additionally, in some embodiments, thevisual cue may be removed after a predetermined amount of time or inresponse to receiving an indication that the user is again attentive tothe computer interface.

FIG. 14 depicts a method 1400 for providing a last known browsinglocation cue using movement-oriented biometric data, according toembodiments of the disclosure. The method 1400 comprises receiving 1402movement-oriented biometric data, for example from the input device 106,the biometric sensor 108, the biometric data acquisition device 120,and/or the stored biometric data 116. The movement-oriented biometricdata is used to identify 1404 a browsing location. In some embodiments,a plurality of browsing locations are identified corresponding to mostrecent location on the computer interface where the user has looked.

In some embodiments, step 1402 comprises identifying position valuesfrom the movement-oriented biometric data and correlating the positionvalues to locations on the computer interface to determine where theuser is looking. In some embodiments, step 1402 comprises using eyetracking or eye gazing algorithms to determine the browsing location. Insome embodiments, step 1402 comprises receiving a position value fromanother device or module, such as the input device 106, the biometricsensor 108, the user intention analysis device 110, the stored biometricdata 116, the biometric data acquisition device 120, the movement module204 and/or the attention judgment module 1004, and interpolating abrowsing location from the position value.

Step 1406 involves determining whether user distraction has beendetected. User distraction may be detected by comparing the biometricdata to thresholds and/or profiles as discussed above. If userdistraction is not detected, the method 1400 loops and step 1406repeats. If user distraction is detected, an inattention time isidentified 1408 corresponding to the detected user distraction. Theinattention time is used to identify and assign 1410 a browsing locationas the last known browsing location.

Step 1412 involves initiating a marking timer. The marking timer countsdown a predetermined amount of time. The marking timer may be adjustableand may be user specific. Upon expiration of the marking timer, a visualcue is presented 1414 at the last known browsing location.

Step 1416 involves initiating a removal timer. In some embodiments, theremoval timer is initiated upon detecting that the user is againattentive to the user interface. In some embodiments, the removal timeris initiated responsive to providing the visual cue. Upon expiration ofthe removal timer, the visual cue is removed 1418 from the computerinterface.

FIG. 15 depicts a method 1500 for providing a last known browsinglocation cue using movement-oriented biometric data, according toembodiments of the disclosure. The method 1500 comprises receiving 1502movement-oriented biometric data, for example from the input device 106,the biometric sensor 108, the biometric data acquisition device 120,and/or the biometric data 116. The movement-oriented biometric data isused to identify 1504 a browsing location. In some embodiments, aplurality of browsing locations are identified corresponding to mostrecent location on the computer interface where the user has looked.

In some embodiments, step 1502 comprises identifying position valuesfrom the movement-oriented biometric data and correlating the positionvalues to locations on the computer interface to determine where theuser is looking. In some embodiments, step 1502 comprises using eyetracking or eye gazing algorithms to determine the browsing location. Insome embodiments, step 1502 comprises receiving a position value fromanother device or module, such as the input device 106, the biometricsensor 108, the user intention analysis device 110, the stored biometricdata 116, the biometric data acquisition device 120, the movement module204 and/or the attention judgment module 1004, and interpolating abrowsing location from the position value.

Step 1506 involves determining whether user distraction has beendetected. User distraction may be detected by comparing the biometricdata to thresholds and/or profiles as discussed above. If userdistraction is not detected, the method 1500 loops and step 1506repeats. If user distraction is detected, an inattention time isidentified 1508 corresponding to the detected user distraction. Theinattention time is used to identify and assign 1510 a browsing locationas the last known browsing location.

Step 1512 involves detecting user attention. The movement-orientedbiometric data may be analyzed to detect that the user is againattentive to the computer display. In some embodiments, the analysisinvolves comparing the movement-oriented biometric data to thresholdsand/or profiles as discussed above. Upon detecting user attention, avisual cue is presented 1514 at the last known browsing location.

Step 1516 involves initiating a removal timer. In some embodiments, theremoval timer is initiated responsive to detecting that the user isagain attentive to the user interface. In some embodiments, the removaltimer is initiated responsive to providing the visual cue. Uponexpiration of the removal timer, the visual cue is removed 1518 from thecomputer interface.

Embodiments may be practiced in other specific forms. The describedembodiments are to be considered in all respects only as illustrativeand not restrictive. The scope of the invention is, therefore, indicatedby the appended claims rather than by the foregoing description. Allchanges which come within the meaning and range of equivalency of theclaims are to be embraced within their scope.

What is claimed is:
 1. A method comprising: receiving movement-orientedbiometric data; determining, with a processor, an acceleration valueusing the movement-oriented biometric data; and interpreting a userintention based at least in part on the acceleration value.
 2. Themethod of claim 1, further comprising: identifying a position valueusing the movement-oriented biometric data; wherein interpreting theuser intention is also based on the position value exceeding a positionthreshold corresponding to a boundary of a computer interface.
 3. Themethod of claim 2, wherein interpreting user intention comprisesdetermining an inattention movement in response to the position valueexceeding the position threshold by a predetermined amount.
 4. Themethod of claim 1, wherein interpreting the user intention is based onthe acceleration value exceeding an acceleration threshold.
 5. Themethod of claim 1, further comprising: identifying a velocity valuecorresponding to the acceleration value using the movement-orientedbiometric data; identifying a position value corresponding to thevelocity value using the movement-oriented biometric data; determining atimestamp corresponding to a position value meeting a positionthreshold; interpreting the user intention to be an intra-interfacemovement in response to an acceleration value corresponding to thetimestamp being below the acceleration threshold and a velocity valuecorresponding to the timestamp being zero; and interpreting the userintention to be an extra-interface movement in response to anacceleration value corresponding to the particular timestamp is abovethe acceleration threshold.
 6. The method of claim 1, further comprisingadjusting a threshold selected from the group consisting of a positionthreshold and an acceleration threshold in response to a change selectedfrom the group consisting of a user-to-interface distance and a computerinterface dimension.
 7. The method of claim 1, further comprising:identifying a jerk value using the movement-oriented biometric data;interpreting the user intention to be an inattention movement inresponse to the acceleration values being positive and below anacceleration threshold for a predetermined period of time and inresponse to the jerk value exceeding the jerk threshold during thepredetermined period of time.
 8. The method of claim 7, furthercomprising identifying a human reaction time for a user, wherein thepredetermined period of time is greater than the human reaction time. 9.The method of claim 8, further comprising measuring a user reaction timevalue based on the calibration routine, wherein the user reaction timevalue is identified as the human reaction time.
 10. The method of claim1, wherein the movement-oriented biometric data comprises a plurality ofposition values and a plurality of timestamps, each timestamp of theplurality of timestamps corresponding to one of the plurality ofposition values.
 11. The method of claim 1, wherein themovement-oriented biometric data is selected from the group consistingof eye tracking data, eye gazing data, and finger position data.
 12. Anapparatus comprising: a processor; a memory that stores code executableby the processor, the code comprising: code that receivesmovement-oriented biometric data; code that identifies an accelerationvalue using the movement-oriented biometric data; and code thatinterprets a user intention based at least in part on the accelerationvalue.
 13. The apparatus of claim 12, further comprising code thatidentifies position values using the movement-oriented biometric data,wherein the code interprets the user intention based at least in part onwhether the position values exceed a position threshold corresponding toa boundary of a computer interface.
 14. The apparatus of claim 13,wherein the code determines an inattention movement in response to theposition value exceeding the position threshold by a predeterminedamount during a predetermined time period.
 15. The apparatus of claim12, wherein the code determines an intra-interface movement in responseto an acceleration value being below an acceleration threshold and avelocity value being zero at a time corresponding to a positionthreshold being exceeded.
 16. The apparatus of claim 12, wherein thecode determines an extra-interface movement in response an accelerationvalue being above an acceleration threshold at a time corresponding to aposition threshold being exceeded.
 17. The apparatus of claim 12,further comprising code that adjusts a threshold selected from the groupconsisting of an acceleration threshold and a position thresholdresponsive to a change in dimensions of a computer interface.
 18. Theapparatus of claim 12, further comprising code that identifies a jerkvalue using the movement-oriented biometric data, wherein the codedetermines user attention in response to the acceleration values beingpositive and below an acceleration threshold for a predetermined periodof time and determines user distraction in response to the jerk valueexceeding a jerk threshold during the predetermined period of time. 19.A program product comprising a computer readable storage medium storingcode executable by a processor to perform: receiving movement-orientedbiometric data; identifying an acceleration value using themovement-oriented biometric data; and interpreting a user intentionbased at least in part on the acceleration value.
 20. The programproduct of claim 19, wherein the code further performs: identifying aposition value using the movement-oriented biometric data, whereininterpreting the user intention is also based on the position valueexceeding a position threshold corresponding to a boundary of a computerinterface.